package exception

import (
	"fmt"
)

// ErrValidateFailed 函数用于返回一个ApiException类型的错误，参数format为错误信息格式，a为可变参数
func ErrValidateFailed(format string, a ...any) *ApiException {
	// 使用fmt.Sprintf函数将format和a中的参数格式化为字符串
	return &ApiException{
		Code:    400,                       // 设置错误码为400
		Message: fmt.Sprintf(format, a...), // 将format和a中的参数格式化为字符串，并赋值给Message字段
	}
}

func ErrServerInternal(format string, a ...any) *ApiException {
	return &ApiException{
		Code:    500,                       // 设置错误码为500
		Message: fmt.Sprintf(format, a...), // 将format和a中的参数格式化为字符串，并赋值给Message字段
	}
}

func ErrorNotFound(format string, a ...any) *ApiException {
	return &ApiException{
		Code:    404,                       // 设置错误码为404
		Message: fmt.Sprintf(format, a...), // 将format和a中的参数格式化为字符串，并赋值给Message字段
	}
}
